As software applications have matured, the software industry has seen a progression from individual standalone software packages to integrated packages. However, even the standalone packages have been forced to adapt to use with other software packages. This has required the software vendors to insure that their packages worked "seamlessly" with other packages. In this seamless operation, it is necessary that one software package be able to import files, spreadsheets, etc. from other software packages. For example, word processing packages initially only accepted files in their format. However, the software vendors soon realized that, in order to allow interface between files created on different computers and with different packages, it was necessary to allow files created with different word processing packages to be "imported" into their word processing package. As the word processing packages have developed over the years, they have expanded into desktop publishing packages requiring the ability to handle raphics, spreadsheets, etc. This again caused the software vendors to insure that they could import different graphics formats and different spreadsheet formats into their unique format. This, of course, required that the operation be done "transparent" to the user, such that when the user viewed either the graphics or the spreadsheet on one software package, it appeared the same on another software package.
In order to handle the transfer of information between the various applications, the concept of an "object" arose. Objects essentially comprise the component p arts of applications and documents. Each of these component parts is defined as a separate object, which object has associated therewith various parameters that define the environment. Once defined, these objects can be encapsulated within a program or can be some how attached or embedded in a given database or program. One of the better known standards for integrating applications with object technology has been introduced by Microsoft Corporation as its OLE standard. The goal of OLE is to allow users to place information created by one application inside a document created by another in such a way that the information can always be edited in the originating application. This allows one to place a spreadsheet data object in a word processing document wherein it would appear in the word processing document. However, in order to edit the spreadsheet, this would require the spreadsheet program to be "launched" out of the word processing document. However, the program would then switch over to the spreadsheet program to allow the editing. Once edited, the system would return to the original word processing document. One disadvantage that present systems have is that they have difficulty in keeping track of the various objects. Typically, the organization structure is a hierarchical structure, wherein a link between two objects is defined in one program and then allows the user to link back to another program and so on. Typically, there is only a single link between the application in which the object is either contained or embedded and the application associated with that object. Other relational aspects between objects are typically not provided for.